package com.zhangshanfeng.test;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

/*

map遍历有两种方法


### Map集合的获取功能【应用】

- 方法介绍

  | 方法名                           | 说明                     |
  | -------------------------------- | ------------------------ |
  | V   get(Object key)              | 根据键获取值             |
  | Set<K>   keySet()                | 获取所有键的集合         |
  | Collection<V>   values()         | 获取所有值的集合         |
  | Set<Map.Entry<K,V>>   entrySet() | 获取所有键值对对象的集合 |
 */
public class MapDemo02 {
    public static void main(String[] args) {
        Map<Integer,Integer> map = new HashMap<>();

        map.put(1,2);
        map.put(2,3);
        map.put(3,4);
        map.put(4,5);
        /*//根据键获取值
        Integer integer = map.get(1);
        System.out.println(integer);
        //获取所有键的集合
        Set<Integer> integers = map.keySet();
        System.out.println(integers);

        //获取所有值的集合
        Collection<Integer> values = map.values();
        System.out.println(values);

        //获取所有键值对对象的集合
        Set<Map.Entry<Integer, Integer>> entries = map.entrySet();
        System.out.println(entries);
*/
    //Map方法1：
        //获取所有键的集合。用keySet()方法实现
        Set<Integer> integers = map.keySet();
        //遍历键的集合，获取到每一个键。用增强for实现
        for (Integer key : integers) {
            //根据键去找值。用get(Object key)方法实现
            Integer integer1 = map.get(key);
            System.out.println(key + " ==" +integer1);
        }

        //遍历方法2：获取所有键值对对象的集合
        Set<Map.Entry<Integer, Integer>> entries = map.entrySet();
        for (Map.Entry<Integer, Integer> entry : entries) {
            Integer key = entry.getKey();
            Integer value = entry.getValue();
            System.out.println(key + "--" + value);
        }


    }
}
